/**
 * 脚手架默认的配置文件
 */

const defineConfig = (outsideDefine = {}) => {

  let generateConfig

  const __pureDefaultConfig = {
    proxy: {}, //优先级高于devServer中的配置
    workerLoader: false,
    devServer: {},
    jsObfuscator: false, // 代码混淆，注意：开发环境绝对不要开启，严重影响编译速度
    devtool: 'cheap-module-source-map',
    sass: false, //sass写法，默认关闭
    hash: false, // 文件名加has后缀，用于增量发布和避免浏览器加载缓存
    analyze: {},
    chainWebpack(memo,) {
      memo.output
        .path('distTest')
        .filename('[name].bundle.js');
    },
  }

  try {
    generateConfig = Object.assign(__pureDefaultConfig, outsideDefine)
  } catch (error) {
    console.error('defineConfig配置出错:', error);
    generateConfig = __pureDefaultConfig
  }

  
  return generateConfig
}

module.exports = defineConfig